import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import calendar
import datetime
#!!!!!!change to your file here
data = pd.read_csv("/Users/kamile/Desktop/Data Analysis and Visualization/Week 1/Police_SF_DATA.csv", low_memory=False)
focuscrimes = set(['WEAPON LAWS', 'PROSTITUTION', 'DRIVING UNDER THE INFLUENCE', 'ROBBERY', 'BURGLARY', 'ASSAULT', 'DRUNKENNESS', 'DRUG/NARCOTIC', 'TRESPASS', 'LARCENY/THEFT', 'VANDALISM', 'VEHICLE THEFT', 'STOLEN PROPERTY', 'DISORDERLY CONDUCT'])
focuscrimes = sorted(focuscrimes)
data['Date'] = pd.to_datetime(data['Date'])
data['Date'] = data['Date'].dt.year
data = data[data.Date != 2018]
Data_Thefts = data[data['Category'] == "VEHICLE THEFT"].reset_index(drop=True)
Thefts_per_district = Data_Thefts.groupby(by=["PdDistrict"]).size().reset_index(name="Number_of_Thefts")
Thefts_per_district = Thefts_per_district.rename(columns={"PdDistrict": "District", "Number_of_Thefts": "Number of Vehicle Thefts"})
min_thefts = Thefts_per_district['Number of Vehicle Thefts'].min()
max_thefts = Thefts_per_district['Number of Vehicle Thefts'].max()
min_thefts = min_thefts
max_thefts = max_thefts
from urllib.request import urlopen
import json
with urlopen('https://raw.githubusercontent.com/suneman/socialdata2022/main/files/sfpd.geojson') as response:
counties = json.load(response)
counties["features"][0]
from urllib.request import urlopen
import json
import plotly.express as px
fig = px.choropleth_mapbox(Thefts_per_district, geojson=counties, locations='District', color='Number of Vehicle Thefts',
#color_continuous_scale=["white", "darkgoldenrod"],
#color_continuous_scale="Cividis_r",
color_continuous_scale="Greys",
#reversescale=True,
range_color=(min_thefts, max_thefts),
mapbox_style="carto-positron",
zoom=11.2,
center = {"lat": 37.7749, "lon": -122.4194},
opacity=0.8
)
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})
fig.show()